﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Net;
using System.IO;
using Devfw.OpenAuth;

namespace Devfw.OpenAuth.Platform
{
    public abstract class Provider20Base
    {
      

        public string APIKey
        {
            get;
            set;
        }

        public string SecretKey
        {
            get;
            set;
        }

        public string AccessToken
        {
            get;
            set;
        }

        public string RefreshToken
        {
            set;
            get;
        }

        public Provider20Base(string apiKey, string secretKey)
        {
            APIKey = apiKey;
            SecretKey = secretKey;
        }
        public Provider20Base(string apiKey, string secretKey, string accessToken, string refreshToken)
        {
            APIKey = apiKey;
            SecretKey = secretKey;
            AccessToken = accessToken;
            RefreshToken = refreshToken;
        }

        public abstract string authorize();
        public abstract string getAccessToken(string authorization_code, string state);
        public abstract string getRefreshToken();
        



    }
    
}
